]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
screencastService: Drop always-copy condition
authorrobert.mader@collabora.com <robert.mader@collabora.com>
Mon, 20 Feb 2023 17:07:23 +0000 (18:07 +0100)
committerJonas Dreßler <verdre@v0yd.nl>
Tue, 25 Apr 2023 18:28:28 +0000 (20:28 +0200)
The check for the Pipewire version was originally introduced in
d32c0348 which states:
> Since it is not clear yet when a proper solution will arrive,
> this makes use of `always-copy` as a workaround for now and
> should be reverted once it is no longer needed.

The check for a stable Gstreamer version with the mention proper fix was
introduced in d7b44319 and carried for the 43 cycle.

By the time Gnome 44 will be released all distros should have had enough
time to update their Gstreamer version - or backport the patches, in
case of not ustream-supported versions.

Thus lets drop it now.

Note: `always-copy` is not suitable for dmabuf buffers as it copies via
mmap.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2609>

js/dbusServices/screencast/screencastService.js

index 32af1e320fddfafb43680dc05bed4d9e081859d8..85410231f2b252ab1ef3d1fbddbc83b4abcd67a2 100644 (file)
@@ -316,13 +316,9 @@ var Recorder = class {
 
     _ensurePipeline(nodeId) {
         const framerate = this._framerate;
-        const needsCopy =
-            Gst.Registry.get().check_feature_version('pipewiresrc', 0, 3, 57) &&
-            !Gst.Registry.get().check_feature_version('videoconvert', 1, 20, 4);
 
         let fullPipeline = `
             pipewiresrc path=${nodeId}
-                        always-copy=${needsCopy}
                         do-timestamp=true
                         keepalive-time=1000
                         resend-last=true !